package com.wizz.trade.information.service;

import com.wizz.trade.information.dto.page.OtherCompanyPageDto;
import com.wizz.trade.information.dto.page.OurCompanyPageDto;
import com.wizz.trade.information.entity.Company;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wizz.trade.common.PageVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author fyftless
 * @since 2023-04-02 04:26:06
 */
public interface CompanyService extends IService<Company> {

    /**
     * 查询所有公司
     * @return
     */
    void addCompany(Company company);

    /**
     * 根据id更新公司
     * @param company
     */
    void updateCompany(Company company);

    /**
     * 根据id删除公司
     * @param id
     */
    void deleteCompany(Integer id);

    /**
     * 分页条件查询公司
     * @param ourCompanyPageDto
     * @return
     */
    PageVo<Company> getPageOur(OurCompanyPageDto ourCompanyPageDto);

    /**
     * 查询所有公司
     * @return
     */
    List<Company> getAll();

    PageVo<Company> getPageOthers(OtherCompanyPageDto otherCompanyPageDto);

    /**
     * 获取账套键值对选项列表
     * @return 键值对列表
     */
    List<Map<Integer, String>> getLedgerOptions();

    /**
     * 获取公司键值对选项表
     * @return 选项表
     */
    List<Map<Integer, String>> getCompanyOptions();
}
